1. Field of the Invention
The present invention relates to retransmission of a data frame, and more particularly, to a method of retransmitting a data frame, by which a determination of whether to retransmit a data frame is made according to a response frame defined according to reception or non-reception of the data frame, and a network apparatus using the method.
2. Description of the Related Art
To effectively use the functions of a network, data communication over a wired or wireless network is performed using standard communication rules in which two devices wanting to communicate with each other agree upon what is communicated, how, and when. The standard communication rules are referred to as communication protocols.
Such communication protocols fundamentally conform to an Open System Interconnection (OSI) 7-layer model and are appropriately configured according to network characteristics such as whether a network is a wired network or a wireless network, a medium used for data transmission, etc.
In particular, most communication protocols define a method of transmitting a response frame reporting to a transmitter that a receiver has received a data frame correctly when the data frame forwarded by the transmitter reaches the receiver. Generally, such a response frame is referred to as an “ACK-response frame.” For example, when a transmitter receives the ACK-response frame reporting correct reception of a first frame from a receiver after transmitting the first frame to the receiver, transmitter transmits a second frame to the receiver. However, in some cases, the transmitter may need to retransmit the first frame to the receiver. FIGS. 1A through 1C illustrate such a case.
FIG. 1A illustrates a case where a transmitter retransmits a data frame to a receiver according to conventional technology when an ACK-response frame transmitted from the receiver is lost.
When a data frame transmitted from a transmitter correctly reaches a receiver, the receiver transmits an ACK-response frame to the transmitter. However, when the transmitter does not receive the ACK-response frame within a predetermined period of time, i.e., a timeout, since the transmission of the data frame, the transmitter retransmits the data frame.
FIG. 1B illustrates a case where a transmitter retransmits a data frame to a receiver according to the conventional technology when the data frame transmitted from the transmitter is lost.
When a receiver does not receive a data frame transmitted from a transmitter, the transmitter retransmits the data frame after a predetermined period of time, i.e., a timeout, since the transmission of the data frame.
FIG. 1C illustrates a case where a transmitter retransmits a data frame to a receiver according to the conventional technology when a checksum error occurs with respect to the data frame transmitted from the transmitter.
When a data frame transmitted from a transmitter and then received by a receiver has an error, the receiver cannot transmit an ACK-response frame to the transmitter. Accordingly, the transmitter retransmits the data frame after a predetermined period of time, i.e., a timeout, since the transmission of the data frame.
Checksums include a checksum for a frame header and a checksum for a frame payload. A checksum error for the frame header is checked in a protocol layer lower than the current layer, and a checksum error for the frame payload is checked in the current layer of the protocol. For example, as for a Medium Access Control (MAC) frame conforming to an IEEE 802.15.3 protocol, a Header Check Sequence (HCS) (that is information used to determine whether a header has an error) is checked in the physical layer, and a Frame Check Sequence (FCS) (that is information used to determine whether a frame payload has an error) is checked in the MAC layer. When a checksum error occurs, a receiver may transmit a NACK-response frame to a transmitter to request the transmitter to immediately retransmit a data frame. However, when a protocol that does not define the NACK-response frame is used, the transmitter is put in a standby mode for a predetermined period of time.
A receiver may transmit an ACK-response frame every time a data frame is received from a transmitter. Alternatively, after the transmitter sequentially transmits a plurality of data frames to the receiver, the receiver may inform the transmitter whether the plurality of data frames transmitted from the transmitter have been received in a single response. FIG. 2 illustrates a data frame structure for the latter method.
FIG. 2 illustrates an example of a structure of a “delayed ACK” frame conforming to the IEEE 802.15.3 standard.
When a certain request is received from a transmitter, a receiver transmits a delayed ACK frame shown in FIG. 2 to the transmitter.
The delayed ACK frame includes a MAC header field of 10 bytes and a MAC frame body field. The MAC frame body field includes a MAC frame payload field having a variable size and a 4-byte FCS field used to determine existence or non-existence of an error in the MAC frame payload field.
The MAC frame payload field includes a plurality of MPDU ID block fields, which indicate identification information regarding MAC protocol data frames that the receiver has received from the transmitter without an error. For example, when only 15 data frames have been correctly received by the receiver among 20 data frames transmitted from the transmitter, identification information regarding the 15 data frames is recorded in 15 MPDU ID block fields, and the delayed ACK frame is transmitted to the transmitter. Accordingly, the size of the delayed ACK frame is variable.
As shown in FIG. 1C, when the transmitter does not receive an ACK-response frame for a transmitted data frame, the transmitter retransmits the data frame after unconditionally waiting for a predetermined period of time. In particular, since a channel is allocated even during a waiting time, the conventional technology is very inefficient in a network where a matter of resources related with channel allocation is essential.
Moreover, as shown in FIG. 2, since the receiver needs to transmit identification information regarding all of correctly received data frames, as the number of data frames increases, the size of a delayed ACK frame also increases.